package com.puzzlebazar.client.main.control;

import java.util.HashMap;


public interface HistoryState extends State {

	
	/**
	 * Method used to attach an history state token to this state of the controller.
	 * Can return null if this state shouldn't be stored in the history.
	 * 
	 * @return The associated state token (or null, if the state shouldn't be stored in browser history)
	 */
	public String getStateToken();

	/**
	 * Set the parameters of the state. Should be able to parse any parameters provided by
	 * getParams()
	 * 
	 * @param params The list of all parameters
	 * @throws Exception
	 */
	public void setParams(HashMap<String, String> params) throws Exception;

	/**
	 * Gets all the current parameters of the state.
	 * 
	 * @return The params of the state, or null of the state has no parameters
	 */
	public HashMap<String,String > getParams();
	
}
